package 文件工具类;

import java.io.FileFilter;
import java.util.Scanner;


/**
 * @description: File 练习
 * @author: rock
 * @create:
 **/
public class File {


    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("输出目录位置:");
        String str = sc.nextLine();
        System.out.println("输入关键字：");
        String keyword = sc.nextLine();
        java.io.File file = new java.io.File(str);
        again(file,keyword);
    }


    public static void again(java.io.File file,String keyword){
        if (file.exists()) {
            if (file.isDirectory()) {
                if (file.getName().toLowerCase().contains(keyword.toLowerCase())) {
                    System.out.println(file.getAbsolutePath() + "----" + "目录");

                }

                java.io.File[] subFiles = file.listFiles(new FileFilter() {
                    @Override
                    public boolean accept(java.io.File eachFile) {

                        //目录返回true
                        //文件判断文件名是否包含关键字，不包含则不需要放入结果类型

                        if (eachFile.isDirectory()) {
                            return true;
                        } else {

                            if (eachFile.getName().toLowerCase().contains(keyword.toLowerCase())) {
                                return true;
                            } else {
                                return false;
                            }
                        }
                    }
                });

                for (java.io.File subF : subFiles) {
                    again(subF,keyword);

//                    if (subF.getName().toLowerCase().contains(keyword.toLowerCase())) {
//                        System.out.println(subF.getAbsolutePath() + "-----" + (subF.isDirectory() ? "目录" : "文件"));
//
//                    }
                }
            } else {
                    System.out.println(file.getAbsolutePath() + "-----" + "文件");

            }

        } else {
            System.out.println("没有找到该文件！");
        }

    }
//        if (file.getName().toLowerCase().contains(keywords.toLowerCase())){
//            System.out.println(file.getAbsolutePath()+"-----"+(file.isDirectory() ? "集合":"文件"));
//        }


    }

